To improve performance, some systems include processors with multiple processing cores (also referred to as many-core systems). Currently, most of these systems are focused on providing high performance and there may be some limited power management built in at some level. For example, some of these many-core systems may have the ability to perform per core Cx states. Each C state may indicate a certain level of functionality. For example, C0 may indicate the processor is operating, C1 may indicate the processor is not executing instructions but may return to an executing state almost instantaneously, C2 may indicate the processor is to maintain all software-visible information but may take longer to return to full executing state, C3 may indicate the processor is asleep and does not need to keep its cache coherent, etc.
However, support for aggressive Operating System (OS) or Software (SW) driven power management is generally very minimal, especially front a OS perspective. Moreover, most current OS power management strategies tend not to scale very well with many-core systems from even a processor power management perspective, or the platform as a whole.
Accordingly, how the various power consumption states are utilized may have a direct impact on performance and/or power consumption of a processor.